home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d883.lha / BBBBS / BBBBS59.lha / rexx / ShowHourly.rexx < prev    next >
OS/2 REXX Batch file  |  1993-05-02  |  2KB  |  117 lines

  1. /*   $VER: ShowHourly.rexx 5.9 2 May 1993 (2.5.93)
  2. copyright 1993 Richard Lee Stockton * FREELY DISTRIBUTABLE
  3. */
  4.  
  5. CR=''
  6. def=''
  7. pen3=''
  8. bbspath=GETCLIP('BBS_path')
  9. PARSE ARG name lpp colorflag nonstop .
  10. IF lpp='' THEN
  11.   DO
  12.     lpp=99
  13.     def=''
  14.     pen3=''
  15.   END
  16. IF nonstop='' THEN
  17.   DO
  18.     nonstop=1
  19.     CALL CLOSE(STDOUT)
  20.     CALL OPEN(STDOUT,bbspath'EmailFiles/'name'/Notices/HOURLY','W')
  21.   END
  22. IF nonstop=1 THEN lpp=99
  23. IF ADDRESS()='BAUD' THEN CR='0D'x
  24.  
  25. hc.=0
  26. hc.24=countcheck(bbspath'Numbers/Hourly/Start' 0)
  27. IF hc.24=0 THEN hc.25=1
  28. ELSE hc.25=1+DATE('I')-hc.24
  29. hc.26=countcheck(bbspath'Numbers/Hourly/Hour' 0)
  30. hc.27=TIME('H')
  31. DO i=0 TO 23
  32.   temp=hc.25
  33.   IF temp>1 & i>hc.27 THEN temp=temp-1
  34.   hc.i=countcheck(bbspath'Numbers/Hourly/'i 0)%temp
  35. END
  36. IF hc.24=0 THEN hc.24=DATE('I')
  37. SAY CR
  38. SAY pen3'        Average minutes per hour of use each day since' DATE(,hc.24,'I')||def||CR
  39. SAY LEFT('-',68,'-')||CR
  40. line=' Hour:  ********10********20********30********40********50********60'
  41. SAY line||CR
  42. DO i=0 TO 23
  43.   IF i=0 THEN temp=12'am'
  44.   ELSE IF i<12 THEN temp=i'am'
  45.   ELSE IF i=12 THEN temp='12pm'
  46.   ELSE temp=i-12'pm'
  47.   SAY RIGHT(temp,5)':  'pen3||LEFT('*',hc.i,'*')||def||CR
  48.   IF i=(lpp-4) THEN
  49.     IF waiting2() THEN LEAVE i
  50. END
  51. SAY line||CR
  52. SAY LEFT('-',68,'-')||CR
  53. EXIT
  54.  
  55.  
  56. waiting2:
  57. waitchar=getinput(pen3'   Q=Quit   RETURN=Continue  'def)
  58. IF waitchar='Q' THEN RETURN 1
  59. RETURN 0
  60.  
  61.  
  62. getinput:
  63. PARSE ARG pline
  64. OPTIONS PROMPT pline
  65. PARSE PULL inarg
  66. inarg=STRIP(inarg)
  67. inarg=UPPER(inarg)
  68. inarg=LEFT(inarg,1)
  69. RETURN inarg
  70.  
  71.  
  72. countcheck:
  73. PARSE ARG fname' 'cknum' '.
  74. IF ~EXISTS(fname) THEN
  75.   DO
  76.     IF cknum=0 THEN RETURN 0
  77.     IF ~writeopen(fname) THEN RETURN 0
  78.     CALL WRITELN(f,cknum)
  79.     CALL CLOSE(f)
  80.     RETURN cknum
  81.   END
  82. IF ~readopen(fname) THEN RETURN cknum
  83. retval=STRIP(READLN(f))
  84. CALL CLOSE(f)
  85. IF ~DATATYPE(retval,'W') THEN retval=0
  86. IF ~DATATYPE(cknum,'W') THEN cknum=0
  87. IF retval<cknum THEN
  88.   DO
  89.     IF writeopen(fname) THEN
  90.       DO
  91.         CALL WRITELN(f,cknum)
  92.         CALL CLOSE(f)
  93.         RETURN cknum
  94.       END
  95.   END
  96. RETURN retval
  97.  
  98.  
  99. readopen:
  100. PARSE ARG fname
  101. ok=OPEN(f,fname,'R')
  102. IF ok~=0 THEN RETURN 1
  103. SAY fname 'failed to open for reading!'CR
  104. RETURN 0
  105.  
  106.  
  107. writeopen:
  108. PARSE ARG fname
  109. CALL CLOSE(f)
  110. ok=OPEN(f,fname,'W')
  111. IF ok~=0 THEN RETURN 1
  112. SAY fname 'failed to open for writing!'CR
  113. RETURN 0
  114.  
  115.  
  116. /* ShowHourly.rexx */
  117.